E) Time Complexity

시간 복잡도(Time Complexity)
컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도
(일반적으로 점근 표기법을 이용해서 나타냄)
아래로 갈수록 복잡해짐
O(1)        상수(constant) 형태
O(log n)        로그(logarithmic) 형태
O(n)        선형(linear) 형태
O(nlogn)        선형로그 형태
O(n^c)        다차(polynomial) 형태    ex) O(n^3)
O(n^n)        지수(exponential) 형태    ex) O(3^n)
O(n!)        팩토리얼(factorial) 형태
정렬 알고리즘
Sorting Algorithms공간 복잡도시간 복잡도
최악최선평균최악
Bubble SortO(1)O(n)O(n2)O(n2)
HeapsortO(1)O(n log n)O(n log n)O(n log n)
Insertion SortO(1)O(n)O(n2)O(n2)
MergesortO(n)O(n log n)O(n log n)O(n log n)
QuicksortO(log n)O(n log n)O(n log n)O(n2)
Selection SortO(1)O(n2)O(n2)O(n2)
Shell SortO(1)O(n)O(n log n2)O(n log n2)
Smooth SortO(1)O(n)O(n log n)O(n log n)
자료구조
Data StructuresAverage CaseWorst Case
SearchInsertDeleteSearchInsertDelete
ArrayO(n)N/AN/AO(n)N/AN/A
Sorted ArrayO(log n)O(n)O(n)O(log n)O(n)O(n)
Linked ListO(n)O(1)O(1)O(n)O(1)O(1)
Doubly Linked ListO(n)O(1)O(1)O(n)O(1)O(1)
StackO(n)O(1)O(1)O(n)O(1)O(1)
Hash tableO(1)O(1)O(1)O(n)O(n)O(n)
Binary Search TreeO(log n)O(log n)O(log n)O(n)O(n)O(n)
B-TreeO(log n)O(log n)O(log n)O(log n)O(log n)O(log n)
Red-Black treeO(log n)O(log n)O(log n)O(log n)O(log n)O(log n)
AVL TreeO(log n)O(log n)O(log n)O(log n)O(log n)O(log n)